﻿/**
 * 材料阻尼界面
 * @file MaterialDampingWidget.h
 * @brief 
 * @author BaGuijun (baguijun@163.com)
 * @date 2024-06-20
 * 
 */
#ifndef _MaterialDampingWidget_H
#define _MaterialDampingWidget_H

#include "MaterialWidgetBase.h"

namespace Ui {
    class MaterialDampingWidget;
}

namespace Interface {
    class FITKAbaMaterialDamping;
}

namespace GUI
{
    /**
     * @brief 材料阻尼界面
     * @author BaGuijun (baguijun@163.com)
     * @date 2024-06-20
     */
    class MaterialDampingWidget :public MaterialWidgetBase 
    {
        Q_OBJECT;
    public:
        /**
         * @brief Construct a new Material Damping Widget object
         * @param[i]  item           材料数据对象
         * @param[i]  parent         父对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        MaterialDampingWidget(EventOper::ParaWidgetInterfaceOperator * oper,Interface::FITKAbaMaterialDamping* item, QWidget* parent = nullptr);
        /**
         * @brief Destroy the Material Damping Widget object
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        ~MaterialDampingWidget();
        /**
         * @brief 根据数据显示界面参数
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        void showValue();
        /**
         * @brief 数据检查
         * @return true 成功
         * @return false 失败
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-05-30
         */
        virtual bool checkValue();
        /**
         * @brief 数据存储(在调用该函数之前必须调用checkValue)
         * @return true 成功
         * @return false 失败
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-05-30
         */
        virtual bool saveValue();
    private:
        /**
         * @brief ui对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        Ui::MaterialDampingWidget* _ui = nullptr;
        /**
         * @brief 材料对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        Interface::FITKAbaMaterialDamping* _materItem = nullptr;
    };
}


#endif
